分类
联系方式
  1. 新浪微博
  2. E-mail

Dart Analyzer:FunctionDeclaration 声明

介绍

顶层函数声明,对应注释如下:

/// A top-level function declaration.
///
///    functionDeclaration ::=
///        'external' functionSignature
///      | functionSignature [FunctionBody]
///
///    functionSignature ::=
///        [Type]? ('get' | 'set')? name [FormalParameterList]
///

这种 Specification 怎么看?

定义 functionDeclaration 概念,它为 external + functionSignature 概念 + 可选的函数体,或者为 functionSignature + 可选的函数体。(这里面看起来还有一个优先级关系,我根据理解这么划分了。

functionSignature 概念定义为:可选的类型概念(加上 nullable)+ get 后者 set 概念(nullable),再加上 FormalParameterList 参数列表概念。

FormalParameterList 则也有专门的概念定义。

举例,根据 Specification 举几个实例:

int add(int a, int b) {
  return a + b;
}

String greeting(String name) => "Hello, $name!";

external void printHello();